<html>
<body>
Contains classes implementing a simple control flow graph.

<p>
The {@link b2bpl.graph.AbstractFlowGraph AbstractFlowGraph} class is a simple
implementation of a control flow graph in which every node is represented by an
{@link b2bpl.graph.AbstractVertex AbstractVertex} and every edge by an
{@link b2bpl.graph.AbstractEdge AbstractEdge}. All the classes are abstract and
can be parameterized by concrete implementations of an {@code AbstractVertex}
and an {@code AbstractEdge}. Hence, in order to use the here provided
implementation of a control flow graph, one should write concrete subclasses for
all of the above classes parameterized with the respective concrete
implementations of the {@code AbstractVertex} and {@code AbstractEdge} classes.
</p>

<p>
In addition to providing a simple flow graph datastructure, the
{@code AbstractFlowGraph} class also embodies a set of algorithms related to
the detection of loops and for determining some structural properties of the
graph such as whether it is reducible or not.
</p>
</body>
</html>
